using System;

namespace Index.Interfaces
{
    public interface ITreeIndexTier : IDisposable
    {
        bool HasNode(uint offset);
        uint CreateNode();
        uint GetNextTierNodeOffset(uint offset, int digit);
        void SetNextTierNodeOffset(uint offset, int digit, uint value);
        uint GetNodeValue(uint offset);
        void SetNodeValue(uint offset, uint value);

        void Initialize(string indexDirectoryPath, string indexName, int tierNumber);
        void Cleanup();
    }
}